Idea scoring for creativity tool selection

ABSTRACT

An intelligence-driven virtual assistant for automated documentation of new ideas is provided. During a brainstorming session, one or more user participants may discuss and identify one or more ideas. Such ideas may be tracked, catalogued, analyzed, developed, and further expanded upon through use of an intelligence-driven virtual assistant. Such virtual assistant may capture user input data embodying one or more new ideas and intelligently process the same in accordance with creativity tool workflows. Such workflows may further stimulate creativity for capturing ideas, while continuing to document, analyze, and identify further aspects to develop and expand.

CROSS-REFERENCE TO RELATED APPLICATIONS

The present patent application claims the priority benefit of U.S.provisional patent application 62/722,421 filed Aug. 24, 2018, U.S.provisional patent application 62/722,637 filed Aug. 24, 2018, U.S.provisional patent application 62/722,641 filed Aug. 24, 2018, and U.S.provisional patent application 62/724,380 filed Aug. 29, 2018,disclosures of which are incorporated herein by references.

BACKGROUND OF THE INVENTION 1. Field of the Invention

The present disclosure is generally related to a virtual assistant, andmore particularly related to intelligence-driven virtual assistant forautomated documentation of new ideas.

2. Description of the Related Art

Creativity tools can help participants in a brainstorming session tooptimize their innovation process. Innovative ideas in brainstormingsessions can be achieved via skilled facilitators reading a room andknowing the right implement to spark creativity in an individual orgroup. However, the lack of skilled facilitators creates a bottleneckeffect in the field of innovation.

Thus, there exists a need for providing an interactive innovation toolto systematize documentation of creative thinking and innovationactivities with highly engaging user experiences, and lifelikeconversational interactions in real-time during an innovation orideation session.

SUMMARY OF THE CLAIMED INVENTION

Embodiments of the present disclosure provide an intelligence-drivenvirtual assistant for automated documentation of new ideas. Such virtualassistant may capture user input data embodying one or more new ideasand intelligently process the same in accordance with creativity toolworkflows. Such workflows may further guide development and expansionupon a given idea, while continuing to document, analyze, and identifyfurther aspects to develop and expand.

Further embodiments may include systems for guiding conversationalcreation and innovation sessions. Such systems may include artificialintelligence (AI)-driven speech recognition, chatbots designed tostimulate conversations regarding ideas with one or more human users viaauditory or textual prompts, semantic search and discovery into insightsand relationships among ideas, technical databases, and scholarlyliterature, applying machine learning to identify creation patterns andto make decisions regarding promising ideas, knowledge management anddiscovery of relevant material from various online sources, automatedproduction of an idea creation and development record, context-sensitivedashboard reports and analytics, and speech synthesis.

BRIEF DESCRIPTION OF THE FIGURES

FIG. 1 illustrates an exemplary network environment in which anexemplary system for intelligence-driven virtual assistant for automateddocumentation may be implemented.

FIG. 2 is a flowchart illustrating an exemplary method of implementingan ideation module.

FIG. 3 is a flowchart illustrating an exemplary method of implementingthe scoring module

FIG. 4 is a flowchart illustrating an exemplary method of implementingthe correlation module.

FIG. 5 is a flowchart illustrating an exemplary method of implementingan innovation info module.

FIG. 6 is a flowchart illustrating an exemplary method of implementingthe ideation module.

FIG. 7 is a flowchart illustrating an exemplary method of implementingthe image relation module.

FIG. 8 is a flowchart illustrating an exemplary method of implementingthe ideation module.

FIG. 9 is a flowchart illustrating an exemplary method of implementingthe humor module.

FIG. 10 is a flowchart illustrating an exemplary method of implementingthe custom script module.

FIG. 11 is a flowchart illustrating an exemplary method of implementingthe story generator module.

DETAILED DESCRIPTION

Embodiments of the present disclosure provide an intelligence-drivenvirtual assistant for automated documentation of new ideas. During abrainstorming (e.g., ideation, creation, creativity, innovation)session, one or more user participants may discuss and identify one ormore ideas. Such ideas may be tracked, catalogued, analyzed, developed,and further expanded upon through use of an intelligence-driven virtualassistant. Such virtual assistant may capture user input data embodyingone or more new ideas and intelligently process the same in accordancewith creativity tool workflows. Such workflows may further guidedevelopment and stimulate creativity for capturing ideas, whilecontinuing to document, analyze, and identify further aspects to developand expand.

Further embodiments may include systems for guiding conversationalcreation and innovation sessions. Such systems may include artificialintelligence (AI)-driven speech recognition, chatbots designed tostimulate conversations regarding ideas with one or more human users viaauditory or textual prompts, semantic search and discovery into insightsand relationships among ideas, technical databases, and scholarlyliterature, applying machine learning to identify creation patterns andto make decisions regarding promising ideas, knowledge management anddiscovery of relevant material from various online sources, automatedproduction of an idea creation and development record, context-sensitivedashboard reports and analytics, and speech synthesis.

FIG. 1 illustrates an exemplary network environment in which anexemplary system for intelligence-driven virtual assistant for automateddocumentation may be implemented. The system can be a network having avirtual assistant network in communication with various other networksand devices in accordance with an embodiment. The network may comprise avirtual assistant device 101 for a user to interact with and maycomprise a speaker 103, a microphone 102, lights 104, memory 105, and auser trigger device 106 having a database 107 and a wake-up module 108.The speaker 103 may be a smart speaker, a speaker of a computer, etc.The microphone 102 that may constantly capture audio data and store theaudio data in the database 107 on the virtual assistant device 101. Thelights 104 may illuminate, change colors and used to indicate differentaction, alerts, states of the virtual assistant device 101, and the typeof light may include but not limited to light-emitting diodes (LED). Thememory 105 may store information temporarily or permanently.

The user trigger device 106 may be any type of user interface thatallows a user to trigger an action in the virtual assistant device 101and a virtual assistant network 109, including but not limited to, abutton (either wirelessly connected or directly connect to the virtualassistant device 101), a graphical button on a Graphical User Interface(“GUI”), etc. The database 107 may store temporarily or permanentlyspeech and audio data captured by the microphone 102 on the virtualassistant device 101 as well as pre-programmed replies. The wake-upmodule 108 may continuously poll the audio data from the microphone 102for a “wake-up term”, phrase, keyword, or change in users' tone orvolume, or other audio-based trigger.

The virtual assistant network 109 may be located on a remote server incommunication with the virtual assistant device 101 via a communicationnetwork 150, or it may be integrated into virtual assistant device 101.The virtual assistant network 109 may comprise a virtual assistantmodule 110 that may be a virtual assistant such as, but not limited to,Amazon's Alexa, Google's Google Assistant, Apple's Siri, Microsoft'sCortana, etc., wherein certain words, phrases, invocations, or promptsmay trigger other applications or modules or actions.

The communication network 150 may be inclusive of wired and wirelessnetworks. The communication network 150 may be implemented, for example,using communication techniques such as visible light communication(VLC), worldwide interoperability for microwave access (WiMAX), longterm evolution (LTE), wireless local area network (WLAN), infrared (IR)communication, public switched telephone network (PSTN), radio waves,and other communication techniques known in the art. The communicationnetwork 150 may allow ubiquitous access to shared pools of configurablesystem resources and higher-level services that may be rapidlyprovisioned with minimal management effort, often over the Internet andmay rely on shared resources to achieve coherence and economies ofscale, like a public utility, while third-party clouds enableorganizations to focus on their core businesses instead of expendingresources on computer infrastructure and maintenance.

The virtual assistant network 109 may comprise a trigger terms database111 that may load and store words, phrases, terms, invocations, orprompts that are used to trigger certain actions or start applications.The virtual assistant network 109 may comprise an ideation module 112that may be triggered when the virtual assistant module 110 recognizes akeyword, term or phrase to initiate the ideation module 112. Theideation module 112 may comprise a scoring module 113 that may quantifya score for ideas created and may weight scores based on how frequentlya specific tool was used to create ideas. The ideation module 112 maycomprise a correlation module 114 that may calculate a correlationbetween different user features (age, expertise, role in organization,etc.) and effective ideas produced by different creativity tool.

The ideation module 112 may comprise a random tool module 130 that canbe any number of creativity tools that are randomly used to provide theuser with random creativity data, for example, a user may want idea on“shovels” and the random tool module 130 may initially select one ofmany creativity tools such as word association, and the next time therandom tool module 130 may provide the user with the definition ratherthan the word association.

The ideation module 112 may comprise an image relation module 131, acreativity tool the user could utilize that takes the keywords providedby the user(s), and may perform an image search for images related tothat keyword(s), display a number of the images on a connected display,receive a user selection of one of those images, use object recognitionor meta data tags to identify the object(s) in the image(s), which canbe done as a form of word association, and the user can loop through theimage relation module 131 as many times to obtain images farther awayfrom the original keywords. The connected display(s) can be any numberof the user interfaces that can receive a signal over a wireless networkand display information provided by another computing device, such as asmart TV or laptop computer.

The ideation module 112 may comprise a humor module 132 that maycontinuously poll the ideation module 112 and the microphone 105 of thevirtual assistant device 101 to determine when there is low activity.For example, if there have not been any new ideas during a predeterminedtimeframe during an ideation session or while the ideation module 112 isactive, the humor module 132 may retrieve and output a random joke orhumor from a humor database 137 with the intention of creating laughter.Furthermore, the humor module 132 may look at other variable, such asthe novelty score of an idea, and if there are consecutive low noveltyideas recorded, the humor module 132 may output a random joke or humor.

The ideation module 112 may comprise a custom script module 133 that maycontinuously poll an output of the virtual assistant network 109,looking for known preprogrammed phrases, comparing the preprogrammedphrases to a custom script database 136, and substituting scripts fromthe custom script database 136 that is associated with the preprogrammedphrases. Furthermore, custom scripts can be randomly selected script orselected from a specific group of scripts related to a personality. Forexample, a user maybe get tired of hearing the repetitive preprogrammedresponses that are the default output for the different modules on thevirtual assistant device 101. Instead, the user may want to hearvariations on the default responses in which the module will providedifferent scripted responses. For example, a default response such as“Do you want to hear more?” could be replaced with any number ofscripted phrases like “Um . . . are you still thinking or could Iprovide you with a few more suggestions?”

The ideation module 112 may comprise a story generator module 134 thatis another darker humor module, similar to a MadLib, which prompt usersfor different terms or phrases that are then added to a preprogrammedstory from a story generator database 138. For example, the storygenerator module 134 may ask the user for words and phrases to fill in astory such as the name of a co-worker, a location, verbs, nouns, colors,animals, etc., until the user had filled in all of the blanks similar toa Mad Lib, at which point the module reads back the story to the userfilling the blanks with the users responses.

The ideation module 112 may comprise a creativity tool 1 module 115 thatmay be any number of creativity tools. For example, the ideation module112 may randomly select different types of creativity tools to use, suchas (1) putting a verb randomly selected from a verb database in front ofan initial term or (2) putting an associated word randomly selected froman associated database in front of the initial term, and allowing usersto select specific creativity tools, etc.

The ideation module 112 may comprise a creativity tool n module 116,which may be any number of creativity tools. For example, the creativitytool n module 116 may randomly select different types of creativitytools to use, allow users to select specific creativity tools, etc. Theideation module 112 may comprise an idea recording module 117 that maybe triggered when a prompt comes from the virtual assistant module 110and begins recording the user's idea, wherein the virtual assistantdevice 101 may store a recording in an idea database 119. Atranscription module 118 may transcribe the recording, wherein atranscription of the recording may be stored in the idea database 119and may be sent to a user terminal or via email or other electroniccommunication method. The idea database 119 may store the user'srecordings as well as the respective transcriptions.

A user profile database 120 may store information about the userincluding but not limited to, email, position, usage data, ideageneration, ideation training, etc. A creativity tool database 121 maystore data for available creativity tools using APIs. An API database122 may store all current APIs for the creativity tools. An internaltools database 123 may store data for custom creativity tools notavailable through an API. For example, the internal tools database 123may store previous ideas, products, or services that can be improved onor direct a creativity or ideation session. A correlation database 124may store correlations between user features and effective inventionscoming from a given creativity tool.

The custom script database 136 may stores different custom scripts thatcan be preprogrammed by the user, wherein the custom scripts may be usedto provide a more natural flow of language rather than just a fewrepetitive preprogrammed responses. Furthermore, the preprogrammedscripts could represent different personalities or humor. The humordatabase 137 may store a list of jokes, wherein the jokes can bepreprogrammed, or the user can add them. The purpose of the humordatabase 137 may be to inject humor and laughter in to the innovationprocess as certain points of time since laughter can help stimulatecreativity. The story generator database 138 can store MadLib-likestories that have users filling keywords, or phrases to complete thestory resulting in the fictional death of a co-worker through darkhumor.

A third-party network 125 may be one or more networks on the Internet,cloud, or network that stores module(s) and data for differentcreativity tools. For example, a third party network 125 may host a wordassociation tool that could be accessed through an API. The wordassociation tool may use a cross-idea association database and mayassociate words and word strings in a language by analyzing wordformations around a word or word string to identify other words or wordstrings that are equivalents or near equivalents semantically. Onemethod for associating words and word strings may include querying acollection of documents with a user-supplied word or word string,determining a user-defined amount of words or word strings to the leftand right of the query string, determining the frequency of occurrenceof words or word strings located on the left and right of the querystring, and ranking the located words. An application programminginterface (“API”) 126 of the third party network 125 can be a set ofsubroutine definitions, communication protocols, and tools for buildingsoftware, and particularly providing communication protocols to avariety creativity tools and databases on the Internet, cloud or remoteservers. A third-party module 127 may input data such as a keyword orphrase to initiate a creativity tool on the third party network 125 andthen may output results back to the ideation module 112. A third-partydatabase 128 may store data associated with a creativity tool. Forexample, for word associated creativity tools, the -party database 128may store synonyms. A cloud 140 or Internet connected to thecommunication network 150 may allow for ubiquitous access to sharedpools of configurable system resources and higher-level services thatcan be rapidly provisioned with minimal management effort and thesharing of resources to achieve coherence and economies of scale.

FIG. 2 is a flowchart illustrating an exemplary method of implementingan ideation module. In step 201, keywords may be received from thevirtual assistant module 110. In step 202, the creativity tool database121 may be queried for available creativity tools or methods, forexample, random tool selection, or specific tools such as wordassociation, word definition, AHA deck etc. In step 203, the userprofile database 120 may be queried for user features, such as age,occupation, expertise, etc. In step 204, the correlation database 124may be queried for creativity tools that correlate to user featurespresent in the current group. In step 205, the correlation database 124may be queried whether there a tool that is correlated to a present usertrait with a correlation coefficient greater than 0.90. That number ischosen as an example in this embodiment and could be higher or lower inpractice. If the number is greater, then in step 206, the correlationdatabase 124 may be queried whether there only one tool that has agreater than 0.90 correlation coefficient. If there is only one, skip tostep 209. If there is more than one, in step 207, correlated tools forthe user are listed in order of most correlated to least and polled forthe user selection. In step 208, the user's selected creativity tool maybe received.

In step 209, the selected creativity tool may be executed, such as arandom tool module, the creativity tool module 115, or the creative tooln module 116. In step 210, the keywords received from the virtualassistant module 110 may be sent to the selected creativity tool module.In step 211, data or keywords may be received from the creativity tool.In step 212, the creativity tool data may then be sent to the user viathe virtual assistant device 101. In step 213, the user may be asked,using the virtual assistant device, if the user would like to record anidea. If the user does not want to record an idea, the user is asked ifthe user wants to hear more creativity tool data and, if the user wantsto record an idea, in step 214, an idea record module 117 may beexecuted. Once the idea record module 117 has completed, the user may beasked if the user would like to record another idea. In step 215, theuser may then be asked, using the virtual assistant device 101, if theuser would like to hear more creativity tool data and, if the user doeswant to hear more creativity tool data, in step 216, the user may beprompt to be sent more data and go back to step 211 to receive more datafrom the creativity tool. In step 217, once the idea record module 117has been executed, wherein the scoring module 133 may be executed andreturns, to the ideation module 112, a numerical value score associatedwith the creative idea. In step 218, the correlation module 114 may beexecuted to compare the numerical value score of the created idea withuser feature(s) and the creativity tool used. The ideation module 112may continue to loop back to step 215 wherein the user may choose hearmore creativity tool data or end the session.

FIG. 3 is a flowchart illustrating an exemplary method of implementingthe scoring module. In step 301, a prompt may be received from theideation module 112 that includes the created idea. In step 302, a scorefor the idea may be calculated. This is only one example of a method ofcalculating numerical scores to assess the value or novelty of an idea.In step 303, the user may be asked if the creativity tool is being usedby this user or a group of users for the first time, and if not, in step304, for each previous use of this tool, 0.1 may be added to the scoreof the idea. This is to weight the score in favor of creativity toolsthat the user(s) show a preference for by repeatedly utilizing it. Instep 305, the user may be asked if this is the first idea from thistool, and if not, in step 306, for each previous idea 1.0 may be addedto the calculated score of the idea. This is to weight the score infavor of tools that are prolific in generating ideas out of a user orgroup of users. In step 307, a weighted score is returned to theideation module 112.

FIG. 4 is a flowchart illustrating an exemplary method of implementingthe correlation module. In step 401, a prompt is received from theideation module 112. In step 402, user features may be retrieved fromthe user database and in step 403, correlation coefficients between eachuser feature, such as age, may be recalculated with the weighted scoreof an idea being above a threshold set by the administrator as valuable.In step 404, updated correlation coefficients may be written in thecorrelation database 124. In step 405, the user may be returned to theideation module.

FIG. 5 is a flowchart illustrating an exemplary method of implementingan innovation info module. In step 501, the virtual assistant device maybe accessed. In step 502, the idea database 119 may be queried for thelast idea generated by the present user. In step 503, the user profiledatabase 120 may be queried for the last document presented to thepresent user. In step 504, if the last document presented was related tothe idea selected, then in step 505, the idea database 119 may bequeried for the last idea the user was present for the creation of. Ifthe most recent idea records have been used for the present user, thenin step 506, the user is presented with the next idea record associatedwith the present user and begins the filtering process again. If thereisn't, in step 507, the attributes of the idea may be identified. Forexample, for an exemplary invention record “the present invention is anumbrella that is non-conductive to lessen the damage done in a lightningstrike,” the key terms identified would be “umbrella” and “lightning”and “conductive.”

In step 508, the third party module 127 may be queried for documentsrelated to some or all of the identified key terms along with currentdata, for example “August 8^(th)”, and returning, for example, adocument of U.S. Pat. No. 323,397 for the first umbrella stand was filedon that date in 1885. In step 509, the documents, or websites, retrievedmay be ranked. In step 510, the user profile database 120 may be queriedfor documents previously presented to the current user. In step 511, itmay be determined whether the present document has been presented to theuser previously. If the user has not been previously presented with thisdocument, in step 512, the document may be written to the user profiledatabase 120 and in step 513, the data may be presented to the user. Ifthe present document has been previously presented, the third partymodule 127 may retrieve a next highest ranked document in step 208. Ifthe next highest ranked document has not been previously presented tothe user and is above the predetermined threshold for relevance, thenext highest ranked document may be written to the user profile database120 and presented to the user. The threshold will be changed dependingon the organization and how closely related to a given subject they feelinformation needs to be in order to inspire innovation in their workers.Some organizations will allow a very low threshold to encourage outsidethe box thinking, whereas others will require highly relevantinformation be presented to their users because they deal with veryspecific engineering issues.

FIG. 6 is a flowchart illustrating an exemplary method of implementingthe ideation module. In step 601, keywords may be received from thevirtual assistant module 110. In step 602, the creativity tool database121 may be queried for the available creativity tools or methods, forexample, random tool selection, or specific tools such as wordassociation, word definition, etc. In step 603, the user may be asked ifthe user wants to select a creativity tool from a list of availablecreativity tools, or use the image relation module 131. In step 604, theuser may be prompted to select a tool if the user wants to select fromthe list of available creativity tools. In step 605, the ideation module112 may receive the user's creativity tool selection via audio data fromthe virtual assistant device 101. In step 606, the keywords receivedfrom the virtual assistant module 110 may be sent to the creativitytool. In step 608, the ideation module 112 may receive data or keywordsback from the creativity tool. In step 609 data from the creativity toolmay then be sent to the user via the virtual assistant device 101.

If the user selected yes in step 603, in step 607, the image relationmodule 131 may be executed. In step 610, the user may be asked using thevirtual assistant device 101 if the user would like to record an idea.If the user does not want to record an idea, the user may be asked ifthe user wants to hear more creativity tool data and if the user doeswant to record an idea, in step 611, the idea record module 117 may beexecuted. Once the idea record module 117 has completed, the user may beasked if the user would like to record another idea and in step 612, ifthe user wants to hear more creativity tool data. If the user does wantto hear more creativity tool data, in step 613, a prompt may be sent tothe creativity tool to see more data.

FIG. 7 is a flowchart illustrating an exemplary method of implementingthe image relation module. In step 701, 301 receiving keywords from theideation module 112. In step 702, a connected display or displays may beconnected. In step 703, the third party module 127 may be queried forfour images related to the keyword or keywords supplied by the userthrough the ideation module 112. In step 704, if the images retrievedare determined to have metadata tags that define the objects in theimage, then in step 705, an object recognition system may be used toretrieve images that do not have meta data tags defining the objects inthe. In step 706, the four retrieved images may be displayed along withthe object definitions on the connected display(s). In step 707, theuser may be polled to select one of the four images. In step 708, theuser may be asked if the user would like to apply word association tothe object definition from the selected image. In step 709, the objectdefinition may be sent to another third party module 127 for wordassociation wherein an associated word may be sent back to step 703. Instep 710, the user may be asked if the user would like to return to theideation module 112 if the user does not want to apply the associatedword. If the user does not want to return to the ideation module 112,the original metadata or object recognition supplied object definitionmay be the word(s) sent to the third party module 127 in step 703 thatretrieves related images. If the user chooses to return to the ideationmodule 112, then in step 711, the user returns to the ideation module112.

FIG. 8 is a flowchart illustrating an exemplary method of implementingthe ideation module. In step 801, the keywords may be received from thevirtual assistant module 110. In step 802, the custom script module 136may be executed and after an initial prompt from the user continuouslyruns in the background. In step 803, the humor module 132 may beexecuted and run in the back ground while the ideation module 112 isrunning. In step 804, the creativity tools database 121 may be queriedfor the available creativity tools or methods, for example, random toolselection, or specific tools such as word association, word definition,etc. In step 805, the user may be prompted on the virtual assistantdevice 101 to select which tool or method the user would like to use.This feature could be pre-programmed so users don't get an option ofwhich tool to use, and an administrator would have set up the user'soptions or preferences. In step 806, the ideation module 112 may receivethe user's creativity tool selection via audio data from the virtualassistant device 101. In step 807, a selected creativity tool module isexecuted, for example if the user selects creativity tool 1, then thecreativity tool 1 module 115 is executed. In step 808, the keywordsreceived from the virtual assistant module 110 may be sent to theselected creativity tool module.

In step 809, the selected creativity tool module may receive data orkeywords back from the creativity tool. In step 810, the creativity tooldata may be then sent to the user via the virtual assistant device 101.In step 811, the user may then be asked using the virtual assistantdevice 101 if the user would like to record an idea. If the user doesnot want to record an idea, the user is asked if the user want to hearmore creativity tool data. If the user wants to record an idea, then instep 812 the idea record module 117 may be executed. Once the idearecord module 117 has completed, in step 813, the user is asked if theuser would like to record another idea. If the user does not want tohear more creativity data the module ends in step 815. If the user doeswant to hear more creativity tool data, a prompt may be sent to thecreativity tool to receive more data in step 814 wherein the selectedcreativity tool module receives the data at step 807.

FIG. 9 is a flowchart illustrating an exemplary method of implementingthe humor module. In step 901, the humor module 132 may be executed atthe beginning of the ideation module 112. In step 902, the idea database119 may be polled for the when the last new idea was added to the ideadatabase 119. In step 903, the time which the last idea was added to theidea database 119 is calculated using timestamp data in the ideadatabase 119. For example, if the current time is 1:06 pm and the lastidea was added to the database at 1:00 pm, the time since the last ideais 6 minutes. In step 903, if the calculated time since the last ideawas submitted is more than 15 minutes, for example, then the storygenerator module 138 may be executed. If then, the calculated time sincethe last idea was submitted is less than five minutes, the polling maybegin in step 903. The times in which the calculated time is comparedcan be preset by the user. If the calculated time is more than 5 minutessince the last idea was submitted, then in step 907, a randompreprogrammed bit of humor may be selected from the humor database 137.

In step 908, the randomly selected humor (i.e. joke) may then output tothe virtual assistant device 101. In step 909, the humor module 132waits a certain time period, such as 2 minutes, until continuing. Thismay prevent the humor module 132 from outputting humor every few secondsand gives time to the users to develop and submit a new idea. In step910, if the ideation module 112 had ended, it is assumed that theinnovation or ideation session has concluded and the humor module 132ends. If the ideation module 112 has not ended, the humor module 132begins polling the idea database at Step 901. The module ends at step911 when the ideation module 112 is no longer running.

FIG. 10 is a flowchart illustrating an exemplary method of implementingthe custom script module. In step 1001, the user may be prompted toselect what custom scripts the user would like to use, such as randomscript, scripts based on a personality, or no custom scripts at all. Instep 1002, the user's selection may be received. In step 1003, if theuser did not select a custom script but instead selected no customscripts, the module ends and preprogrammed scripts are used. If the userselects the custom scripts base on a personality, in step 1004, themodule may query the custom script database 136 for a list of differentpersonalities. If the user selects scripts based on personalities, instep 1005, the module then may query the customs script database 136 forthe different personalities. In step 1006, a list of differentpersonalities in the custom scripts database 136 may be sent to the userto select which personality the user would like. In step 1007, theuser's selected personality may be received. In step 1008, the output,from the virtual assistant network 109, to the virtual assistant device101 is continuously monitored by the custom scripts module 133 lookingfor preprogrammed phrases or responses that are outputted to the userthrough the virtual assistant device 101. In step 1009, thepreprogrammed script that would normally be outputted to the virtualassistant device 101 may be identified. In step 1010, the custom scriptdatabase 136 may be queried for a corresponding custom script to thatmatches the selected personality and the preprogrammed script.

In step 1011, the preprogrammed script may then be replaced with thecorresponding personality script from the custom scripts database 136and outputted to the virtual assistant device 101 instead of thepreprogrammed phrase. In step 412, the custom script module 133 maycheck to see if the ideation module 112 has ended, wherein if theideation module 112 has ended then the custom script module 133 may end.Otherwise, custom script module 133 returns to step 1008 and continuesto monitor the virtual assistant network 109 for output. If the userdoes not select a custom script based on a personality in step 1004 itis assumed that the user selected random scripts and the output from thevirtual assistant network 109 to the virtual assistant device 101 may becontinuously monitored by the custom scripts module 136 looking forpreprogrammed phrases or responses that are outputted to the userthrough the virtual assistant device 101.

In step 1014, the preprogrammed script that would normally be outputtedmay be identified. In step 1015, the custom script database 136 isqueried to identify custom scripts that can be used in place of thepreprogrammed scripts. In step 1016 the custom script module 133 maythen randomly select a custom script that corresponds to thepreprogrammed output. In step 417, the preprogrammed script may bereplaced with the corresponding custom script that was randomly selectedand may be outputted to the virtual assistant device 101 in place of thepreprogrammed output. In step 418, the custom script module 133 maycheck to see if the ideation module 112 has ended. If the ideationmodule 112 has ended the custom scripts module 133 may end. Otherwise,the custom script module 133 may return to step 1013 and continue tomonitor the virtual assistant network 109 for output, and in step 419the custom script can end.

FIG. 11 is a flowchart illustrating an exemplary method of implementingthe story generator module. In step 1101, the story generator module 138may begin by randomly selecting one of the stored stories in the storygenerator database 138. The selection of a random line to use from thestory generator database 138 can be achieved in a number of ways, suchas using an algorithm that generates a random number and uses thatrandom number as the line to the story generator database 138 to pulldata from. Each story in the database can be incomplete stories thatrequire a user to fill in certain variables similar to a “Mad Lib.” Instep 1102, the missing words or phrases corresponding to the randomlyselected story can be retrieved from the story generator database 138,for example, similar to a Mad Lib, wherein the missing words or phraseswould correspond to parts of a story, such as names, verbs nouns,adjective, locations, animals, etc. and are left blank for the user tofill in when prompted.

In step 1103, the missing words and variables missing from a story maybe retrieved from the story generator database 138 and may be then sentto the user. There may be one or more missing words or phrases, and forstories with more than one missing word or phrase, the story generatormodule 138 may prompt the user for one response to a missing word orphrase at a time. In step 1104, the user's response to the missing wordor phrase is temporarily stored either in the story generator module 138or in any memory where it is retrieved in step 1106. In step 1105, ifthere are more missing words or phrases that require the user'sresponse, the story generator module 138 returns to step 1103 and sendsthe next missing word or phrase to the user to fill in. In step 1106, ifall missing words and phrases have been filled in, the story generatormodule 138 may then begin to output the story to the user through thevirtual assistant device 101 and replacing the missing words and phraseswith the users responses stored in step 1104. In step 1107, the storygenerator module 138 may end once the story has been completed.

Table 1 below illustrates an exemplary custom script database 136. Thecustom script database 136 may comprise a Script ID Number 1201, aunique identifier to identify the unique record in a database and apreprogrammed phrase 1202, a phrase that the custom script may replace.A personality 1203 of the script can categorize the script in todifferent types of personality base on how or what someone would saybased on a personality. A custom script 1204 can be the script that willreplace the corresponding preprogrammed phrase 1202 that is beingoutputted from the virtual assistant network 109 to the virtualassistant device 101.

TABLE 1 1201 Script 1202 Prepro- 1203 ID Number grammed PhasePersonality 1204 Custom Script 001 “Would you like to Ditzy “Um . . .like . . . hear more?” would you like to hear more?” 002 “Would you liketo Mean “Bet you can't think hear more?” of anything, so would you liketo hear more, stupid?” 003 “Would you like to Geek “Based on my hearmore?” calculation, the more suggestions I provide will result in ahigher probability of coming up with new ideas, so would you like tohear some more suggestion?” 004 “OK, here are some Ditzy “Um . . . like. . . here more suggestions” to you go” 005 “OK, here are some Mean “Ha,I knew you more suggestions” couldn't think of anything. Here are somemore suggestions!” 006 “OK, here are some Geek “I've run a moresuggestions” complicated algorithm correlating the results and came backwith the following suggestions” 007 “Do you want to Ditzy “Um . . . like. . . do record an idea?” you want to record something or what?” 008 “Doyou want to Mean “Do you want to put record an idea?” your dumb idea onthe record or what?” 009 “Do you want to Geek “Do you want to record anidea?” digitize your thoughts into a digital recording?”

Table 2 below illustrates an exemplary humor database 132. The humordatabase 132 can comprises a humor ID 1301 that can be a uniqueidentifier for each piece of humor stored in the humor database 132 anda humor or joke 1302 that can store the scripted of the joke or piece ofhumor that is to be output when the humor module 132 is executed.

TABLE 2 1301 Humor ID 1302 Humor or Joke 001 My sister bet me a hundreddollars I couldn't build a car out of spaghetti . . . you should haveseen the look on her face as I drove pasta! 002 How many South Americansdoes it take to change a lightbulb? A Brazillian. 003 What time doesSean Connery get to Wimbleton? Tennish 004 I went to the zoo the otherday. It was empty except a single dog . . . it was a Shih Tzu 005 Whatkind of bagel can fly? A plain bagel 006 Where do animals go when theirtails fall off? The retail store 007 Why can't you hear a pterodactylgoing to the bathroom? Because the “P” is silent 008 How does a traineat? It goes chew chew. 009 Did you hear about the constipatedmathematician? He worked his problems out with a No. 2 pencil 010 What'sForrest Gump's password? 1Forrest1

Table 3 below illustrates an exemplary story generator database 138. Thestory generator database 138 can comprise a story ID 1401 that can be aunique identifier that identifies each story in the story generatordatabase 138 and a story 1402 that can store the different stories thatcan be used for dark humor. The stories 1402 can be preprogrammed orpulled from other sources and a miss words or phrases 1403 can storedifferent missing words or phrases that are missing from the story whichthe user needs to fill in, wherein these missing words could be verbs,nouns, adjectives, names, location, or phrase that the user fills in tocomplete the story. The story generator database 138 can comprise userresponses 1404 that can temporarily store the user's response 1404 tocomplete the story when it's time to output the completed story.

TABLE 3 1401 Story ID 1402 Story 1403 Missing Words or Variables 1404User Reply 001 [CO-WORKER NAME] What is one of your co- [CO-WORKER waswalking in worker's name? [CO- NAME] [LOCATION] while WORKER NAME][ANIMAL] [VICE] and smoking An animal? [ANIMAL] [INJURY] [PLANT] when aA minor injury you've had? [LOCATION] [ANIMAL] came out of [INJURY][PLANT] nowhere and hit [CO- A location? [LOCATION] [DEVICE] WORKER]causing a A plant? [PLANT] [INJURY]. While at the A device that someonehospital the [DEVICE] uses? [DEVICE] complicated [CO- WORKER]'s [INJURY]killing [CO-WORKER]. 002 . . . . . . . . . 003 . . . . . . . . .

Embodiments of the present disclosure may be provided as a computerprogram product, which may include a computer-readable medium tangiblyembodying thereon instructions, which may be used to program a computer(or other electronic devices) to perform a process. Thecomputer-readable medium may include, but is not limited to, fixed(hard) drives, magnetic tape, floppy diskettes, optical disks, CompactDisc Read-Only Memories (CD-ROMs), and magneto-optical disks,semiconductor memories, such as ROMs, Random Access Memories (RAMs),Programmable Read-Only Memories (PROMs), Erasable PROMs (EPROMs),Electrically Erasable PROMs (EEPROMs), flash memory, magnetic or opticalcards, or other type of media/machine-readable medium suitable forstoring electronic instructions (e.g., computer programming code, suchas software or firmware). Moreover, embodiments of the presentdisclosure may also be downloaded as one or more computer programproducts, wherein the program may be transferred from a remote computerto a requesting computer by way of data signals embodied in a carrierwave or other propagation medium via a communication link (e.g., a modemor network connection).

The foregoing detailed description of the technology has been presentedfor purposes of illustration and description. It is not intended to beexhaustive or to limit the technology to the precise form disclosed.Many modifications and variations are possible in light of the aboveteaching. The described embodiments were chosen in order to best explainthe principles of the technology, its practical application, and toenable others skilled in the art to utilize the technology in variousembodiments and with various modifications as are suited to theparticular use contemplated. It is intended that the scope of thetechnology be defined by the claim.

What is claimed is:
 1. A method for ideation management, the methodcomprising storing a creativity tools database in memory, the creativitytools database storing information regarding one or more availablecreativity tools; receiving from a user via a virtual assistant moduleof a virtual assistant network, one or more keywords; and executinginstructions stored in memory, wherein execution of the instructions bya processor: queries a correlation database the available creativitytools that correlate to one or more features of the user, wherein eachcorrelation is measured by a correlation coefficient, selects acreativity tool from a list of creativity tools ordered by eachrespective correlation coefficient, executes a creativity tool moduleassociated with the selected creativity tool, wherein executing thecreativity tool module includes imputing the keywords, and producingdata based on the inputted keywords; receiving one or more responsesfrom the user, wherein the responses are identified by the user as anidea; executes a scoring module to calculate a weighted numerical scorefor the identified idea, and executes a correlation module to comparethe weighted numerical value score of the idea with the user featuresand the selected creativity tool used.
 2. The method of claim 1, whereinthe list includes creativity tools having a correlation coefficient thatat least meets a predetermined threshold, and wherein selecting thecreativity tool is based on a user selection from the list.
 3. Themethod of claim 1, wherein the list includes only one creativity toolthat has a correlation coefficient that at least meets a predeterminedthreshold, and wherein selecting the creativity tool includesautomatically selecting the creativity tool that has the correlationcoefficient that at least meets the predetermined threshold
 4. Themethod of claim 1, wherein the list includes no creativity tool that hasa correlation coefficient that at least meets a predetermined condition,and wherein selecting the creativity tool includes selecting one of thecreativity tools on the list at random.
 5. The method of claim 1,wherein calculating the weighted score includes adding an incrementalvalue for each previous use of the selected creativity tool and for eachidea that was created by the selected creativity tool.
 6. The method ofclaim 5, wherein executing the correlation module further comprises:retrieving the user features from a user profile database; calculatingcorrelation coefficients between each user feature with the weightedscore being above a threshold; and updating the correlation coefficientsin the correlation database.
 7. The method of claim 1, furthercomprising: querying an idea database for a last idea generated by theuser; querying the user profile database for a last set of innovationinformation presented to the user; presenting a next idea recordassociated with the user when the last set of innovation informationpresented to the user is identified as being related to the idea andthere is a more recent idea associated with the user; and identifyingone or more attributes of the idea when the last innovation informationpresented to the user is not related to the idea or there is not a morerecent idea associated with the user.
 8. The method of claim 7, furthercomprising: querying a third-party module for one or more sets ofinnovation information related to the identified attributes; ranking thesets of innovation information based on respective relevance to theidea; and storing at least one of the sets of innovation information tothe user profile database if the at least one set of innovationinformation was not previously presented to the user.
 9. The method ofclaim 1, further comprising executing the image relation module, whereinexecuting the image relation module comprises: querying a third-partymodule for images related to the one or more keywords; displaying anumber of the images from the third-party module on a connected display;receiving a user selection of one of the displayed images; identifyingone or more objects in the selected image using object recognition ormetadata tags; applying word associations received from the user; andsending a selected object name to the third-party module.
 10. The methodof claim 1, further comprising executing a custom script module inresponse to a prompt from the user, wherein background execution of thecustom script module continues during execution of a humor module 11.The method of claim 1, wherein execution of the custom script furthercomprises: receiving a user selection of a custom script; monitoring thevirtual assistant network for output with preprogrammed responses; andreplacing a corresponding custom script in place of the preprogrammedresponse.
 12. The method of claim 11, wherein the user selectionincludes a selected personality, and further comprising selecting thecustom script from a script database based on the selected personality.13. The method of claim 12, wherein a plurality of scripts from thescript database correspond to the selected personality, and wherein theuser is presented with the plurality of scripts from the script databasecorrespond to the selected personality.
 14. The method of claim 11,wherein a plurality of scripts correspond to the user selection, andfurther comprising selecting the custom script at random.
 15. The methodof claim 10, further comprising: polling an idea database for a last newidea was added to the idea database; identifying a time when the lastidea was added to the idea database based on a timestamp associated withthe last new idea being added to the idea database; executing a storygenerator module when the identified time meets a set threshold time,wherein executing the story generator includes randomly selecting astory from a story generator database and polling the user via thevirtual assistant device for one or more missing parts in the storyuntil the story is complete; and executing the humor module when theidentified time is more than a second set threshold time, whereinexecuting the humor module includes selecting a preprogrammed bit ofhumor at random from a humor database and presenting the selectedpreprogrammed bit of humor to the user via the virtual assistant device.16. A system for ideation management, the system comprising memory thatstores a creativity tools database, the creativity tools databasestoring information regarding one or more available creativity tools; anetwork interface that receives one or more keywords from a user via avirtual assistant module of a virtual assistant network; and a processorthat executes instructions stored in memory, wherein execution of theinstructions by the processor: queries a correlation database theavailable creativity tools that correlate to one or more features of theuser, wherein each correlation is measured by a correlation coefficient,selects a creativity tool from a list of creativity tools ordered byeach respective correlation coefficient, executes a creativity toolmodule associated with the selected creativity tool, wherein executingthe creativity tool module includes imputing the keywords, and producingdata based on the inputted keywords; receiving one or more responsesfrom the user, wherein the responses are identified by the user as anidea; executes a scoring module to calculate a weighted numerical scorefor the identified idea, and executes a correlation module to comparethe weighted numerical value score of the idea with the user featuresand the selected creativity tool used.
 17. The system of claim 16,further comprising an idea database, wherein the processor furtherexecutes instructions to: query an idea database for a last ideagenerated by the user; query a user profile database for a last set ofinnovation information presented to the user; present a next idea recordassociated with the user when the last set of innovation informationpresented to the user is identified as being related to the idea andthere is a more recent idea associated with the user; and identify oneor more attributes of the idea when the last innovation informationpresented to the user is not related to the idea or there is not a morerecent idea associated with the user.
 18. The system of claim 16,further comprising an idea database, wherein the processor furtherexecutes instructions to: poll the idea database for a last new idea wasadded to the idea database; identify a time when the last idea was addedto the idea database based on a timestamp associated with the last newidea being added to the idea database execute a story generator modulewhen the identified time meets a set threshold time, wherein executingthe story generator includes randomly selecting a story from a storygenerator database and polling the user via the virtual assistant devicefor one or more missing parts in the story until the story is complete;and execute the humor module when the identified time is more than asecond set threshold time, wherein executing the humor module includesselecting a preprogrammed bit of humor at random from a humor databaseand presenting the selected preprogrammed bit of humor to the user viathe virtual assistant device.
 19. The system of claim 16, furthercomprising a custom script module executed by the processor in responseto a prompt from the user, wherein background execution of the customscript module continues during execution of a humor module, and whereinthe custom script is executed by the processor to: receive a userselection of a custom script; monitor the virtual assistant network foroutput with preprogrammed responses; and replace a corresponding customscript in place of the preprogrammed response.
 20. A non-transitory,computer-readable storage medium, having embodied thereon a programexecutable by a processor to perform a method for ideation management,the method comprising: storing a creativity tools database in memory,the creativity tools database storing information regarding one or moreavailable creativity tools; receiving from a user via a virtualassistant module of a virtual assistant network, one or more keywords;querying a correlation database the available creativity tools thatcorrelate to one or more features of the user, wherein each correlationis measured by a correlation coefficient; selecting a creativity toolfrom a list of creativity tools ordered by each respective correlationcoefficient; executing a creativity tool module associated with theselected creativity tool, wherein executing the creativity tool moduleincludes imputing the keywords, and producing data based on the inputtedkeywords; receiving one or more responses from the user, wherein theresponses are identified by the user as an idea; executing a scoringmodule to calculate a weighted numerical score for the identified idea,and executing a correlation module to compare the weighted numericalvalue score of the idea with the user features and the selectedcreativity tool used.